package com.zlx.store.common.results;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;

/**
 * @ApiModelProperty 是 Swagger 注解库中的一个注解，用于描述 API 文档中接口的参数或返回值的属性信息。
 * 在您提供的例子中，@ApiModelProperty 用于对一个名为 "code" 的属性进行描述，包括该属性的名称和注释。
 */
@ApiModel("Api返回对象的代码和信息")
@Getter
/**
 * @JsonFormat(shape = JsonFormat.Shape.OBJECT) 是 Jackson 库中用于指定 JSON 序列化和反序列化格式的注解。通过这个注解，您可以控制对象在序列化为 JSON 字符串或从 JSON 字符串反序列化回对象时的格式。
 * 具体而言，@JsonFormat 注解中的 shape 属性指定了要使用的序列化和反序列化的形式。当将 shape 设置为 JsonFormat.Shape.OBJECT 时，表示要以对象形式进行序列化和反序列化。
 */

public enum RespCode {
    ITEM_OPERATION_SUCCESS(2001,"商品操作成功"),
    ITEM_TYPE_OPERATION_SUCCESS(2005,"商品类型操作成功"),
    USER_OPERATION_SUCCESS(2010,"用户操作成功"),
    USER_LOGIN_SUCCESS(2015,"用户登录成功"),
    VERIFY_CODE_SUCCESS(2020,"验证码验证成功"),
    VERIFY_CODE_ISNULL_ERROR(4035,"验证码已过期"),
    VERIFY_CODE_INPUT_ISNULL_ERROR(4040,"请输入验证码"),
    VERIFY_CODE_ERROR(4045,"验证码验证错误"),
    ITEM_OPERATION_ERROR(4001,"商品操作失败"),
    ITEM_TYPE_OPERATION_ERROR(4005,"类型操作失败"),
    USER_OPERATION_ERROR(4010,"用户操作失败"),
    USER_LOGIN_ERROR(4015,"用户登录失败"),
    USER_NAME_SO_EASY_ERROR(4020,"用户名过于简单"),
    USER_NAME_REGISTER_ISNULL_ERROR(4025,"用户名为空"),
    USER_PASSWORD_REGISTER_ISNULL_ERROR(4030,"密码为空"),
    ;
    @ApiModelProperty(name = "code",notes = "返回的代码")
    private int code;
    @ApiModelProperty(name = "msg",notes = "返回代码的简约描述")
    private String msg;
    RespCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}
